/**
 * 绘制线功能demo案例
 */


import * as EasyCesium from "@xhymf1992/easy-cesium";

export function drawPolylineFunction() {

    let options = {
        polylineName: "default-draw-polyline", // 绘制的线的名称，可选，默认为空
        polylineColor: "rgba(255,255,0,1)", // 绘制的线的颜色，可选，默认为rgba(0,0,255,0.5)
        polylineType: 1, // 绘制的线的类型：0-直线；1-虚线，可选，默认为直线
        polylineDashLength: 32, // 绘制的虚线间隔像素长度，可选，默认为16
        polylineSelectedColor: "rgba(255,0,0,1)", // 线被选中时的颜色，可选，默认为rgba(255,0,0,1)
        polylineWidth: 5, // 线的宽度，可选，默认为3
        polylineClampToGround: false, // 线是否贴地，可选，默认为false 绘制管道时不要贴地
        polylineClassificationType: 2, // 线贴在地表或3dtiles上时，显示的部分：0-只显示贴在地形的部分；1-只显示贴在3dtiles的部分；2-全都显示。可选，默认为2
    
        pointColor: "rgba(0,255,255,1)", // 绘制线时的点的颜色，可选，默认为rgba(0,255,0,1)
        pointSelectedColor: "rgba(255,0,0,1)", // 绘制线时的点被选中时的颜色，可选，默认为rgba(255,0,0,1)
        pointSize: 5, // 绘制线时的点的大小，可选，默认为10

        viewer: window.viewer // cesium视图对象，必填
    };

    /**
    * 操做说明：
    * 单击左键：创建新的点
    * alt+单击左键：选中某个点/线
    * alt+单击右键：取消选中 
    * alt+移动鼠标：移动选中的点
    * ctrl+z：取消新创建的点
    * delete: 删除选中的点/线
    */

    // @ts-ignore
    window.func = new EasyCesium.FunctionDrawPolyline(options);
    // @ts-ignore
    window.func.init();

    // // 获取地心坐标
    // console.log(window.func.getPolylinePositions());

    // // 获取经纬度格式的坐标
    // console.log(window.func.getPolylinePositionsCarto());


    // // 销毁func
    // window.func.destroy();
    // window.func = undefined;


    //
    let pickOptions = {
        pickMode: "right", // 拾取方式：left-左键；right-右键，可选，默认为左键
        // pickMode: "left",
        viewer: window.viewer
    }

    let pickFunc = new EasyCesium.FunctionPickGraphic(pickOptions);
    pickFunc.init();

    // // 获取拾取到的图元
    // console.log(pickFunc.__pickedGraphic);
}